package com.example.tencentTrain;

import java.util.Arrays;

/**
 * 编写一个函数，其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
 *  不要给另外的数组分配额外的空间，你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
 *
 *  示例 1：
 * 输入：s = ['h','e','l','l','o']
 * 输出：['o','l','l','e','h']
 *
 *  示例 2：
 * 输入：s = ['H','a','n','n','a','h']
 * 输出：['h','a','n','n','a','H'] 
 */
public class Leetcode344_ReverseString {
    public static void main(String[] args) {
        char[] s = {'h','e','l','l','o'};

        s = new char[] {'H','a','n','n','a','h'};
        
        new Solution().reverseString(s);

        System.out.println(Arrays.toString(s));
    }
    
    static class Solution {
        public void reverseString(char[] s) {
            if (s == null || s.length <= 1) return;
            int left = 0, right = s.length - 1;
            
            while (left < right) {
                char tmp = s[left];
                s[left] = s[right];
                s[right] = tmp;
                left++;
                right--;
            }
        }
    }
}
